Method and device for deriving a prediction sample in decoding/encoding video signal using binary and quad trees

ABSTRACT

Provided are a method and a device for decoding a video signal to provide stereographic image content with high resolution. For decoding a video signal, an intra prediction mode of a current block is determined, and a prediction sample is obtained by performing intra prediction of the current block based on the intra prediction mode.

TECHNICAL FIELD

The present invention relates to a method and device for processing avideo signal.

BACKGROUND ART

Recently, demands for high-resolution and high-quality images such ashigh definition (HD) images and ultra-high definition (UHD) images haveincreased in various application fields. However, higher resolution andquality image data has increasing amounts of data in comparison withconventional image data. Therefore, when transmitting image data byusing a medium such as conventional wired and wireless broadbandnetworks, or when storing image data by using a conventional storagemedium, costs of transmitting and storing increase. In order to solvethese problems occurring with an increase in resolution and quality ofimage data, high-efficiency image encoding/decoding techniques may beutilized.

Image compression technology includes various techniques, including: aninter-prediction technique of predicting a pixel value included in acurrent picture from a previous or subsequent picture of the currentpicture; an intra-prediction technique of predicting a pixel valueincluded in a current picture by using pixel information in the currentpicture; an entropy encoding technique of assigning a short code to avalue with a high appearance frequency and assigning a long code to avalue with a low appearance frequency; etc. Image data may beeffectively compressed by using such image compression technology, andmay be transmitted or stored.

In the meantime, with demands for high-resolution images, demands forstereographic image content, which is a new image service, have alsoincreased. A video compression technique for effectively providingstereographic image content with high resolution and ultra-highresolution is being discussed.

DISCLOSURE Technical Problem

An object of the present invention is intended to provide a method anddevice for encoding/decoding a video signal, the method and devicehierarchically partitioning a coding block.

An object of the present invention is intended to provide a method anddevice for encoding/decoding a video signal, the method and deviceperforming intra prediction of an encoding/decoding target block.

An object of the present invention is intended to provide a method anddevice for encoding/decoding a video signal, the method and devicecorrecting a prediction sample of an encoding/decoding target block.

Technical Solution

According to the present invention, there is provided a method anddevice for decoding a video signal, the method including: determining anintra prediction mode of a current block; deriving a reference samplefor intra prediction of the current block; and performing intraprediction of the current block based on the intra prediction mode andthe reference sample.

In the method and device for decoding a video signal according to thepresent invention, the current block may be a coding block in anon-square shape partitioned based on at least one of a quad tree and abinary tree.

In the method and device for decoding a video signal according to thepresent invention, the determining of the intra prediction mode mayinclude: generating a candidate list having multiple candidates; anddetermining the intra prediction mode of the current block based on thecandidate list and an index.

In the method and device for decoding a video signal according to thepresent invention, a maximum number of candidates that can be includedin the candidate list may be more than three.

In the method and device for decoding a video signal according to thepresent invention, the determined intra prediction mode may be one ofextended intra prediction modes, and the extended intra prediction modesmay include a planar mode, a DC mode, and more than 33 directionalprediction modes.

In the method and device for decoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample using differential information of neighboring samplesof the current block.

In the method and device for decoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample based on at least one of predetermined weight andoffset.

According to the present invention, there is provided a method anddevice for encoding a video signal, the method including: determining anintra prediction mode of a current block; deriving a reference samplefor intra prediction of the current block; and performing intraprediction of the current block based on the intra prediction mode andthe reference sample.

In the method and device for encoding a video signal according to thepresent invention, the current block may be a coding block in anon-square shape partitioned based on at least one of a quad tree and abinary tree.

In the method and device for encoding a video signal according to thepresent invention, the determining of the intra prediction mode mayinclude: generating a candidate list having multiple candidates; anddetermining the intra prediction mode of the current block based on thecandidate list and an index.

In the method and device for encoding a video signal according to thepresent invention, a maximum number of candidates that can be includedin the candidate list may be more than three.

In the method and device for encoding a video signal according to thepresent invention, the determined intra prediction mode may be one ofextended intra prediction modes, and the extended intra prediction modesinclude a planar mode, a DC mode, and more than 33 directionalprediction modes.

In the method and device for encoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample using differential information of neighboring samplesof the current block.

In the method and device for encoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample based on at least one of predetermined weight andoffset.

Advantageous Effects

According to the present invention, it is possible to enhance encodingefficiency through hierarchical/adaptive partitioning of a coding block.

According to the present invention, it is possible to effectivelydetermine an intra prediction mode of an encoding/decoding target block,and to enhance accuracy of intra prediction.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating a device for encoding a videoaccording to an embodiment of the present invention.

FIG. 2 is a block diagram illustrating a device for decoding a videoaccording to an embodiment of the present invention.

FIG. 3 is a view illustrating an example of hierarchically partitioninga coding block based on a tree structure according to an embodiment ofthe present invention.

FIG. 4 is a view illustrating types of pre-defined intra predictionmodes for a device for encoding/decoding a video according to anembodiment of the present invention.

FIG. 5 is a flowchart briefly illustrating an intra prediction methodaccording to an embodiment of the present invention.

FIG. 6 is a view illustrating a method of correcting a prediction sampleof a current block based on differential information of neighboringsamples according to an embodiment of the present invention.

FIGS. 7 and 8 are views illustrating a method of correcting a predictionsample based on a predetermined correction filter according to anembodiment of the present invention.

FIG. 9 is a view illustrating a method of correcting a prediction sampleusing weight and offset according to an embodiment of the presentinvention.

FIGS. 10 to 15 are views illustrating a method of composing a templateto determine weight w according to an embodiment of the presentinvention.

BEST MODE

According to the present invention, there is provided a method anddevice for decoding a video signal, the method including: determining anintra prediction mode of a current block; deriving a reference samplefor intra prediction of the current block; and performing intraprediction of the current block based on the intra prediction mode andthe reference sample.

In the method and device for decoding a video signal according to thepresent invention, the current block may be a coding block in anon-square shape partitioned based on at least one of a quad tree and abinary tree.

In the method and device for decoding a video signal according to thepresent invention, the determining of the intra prediction mode mayinclude: generating a candidate list having multiple candidates; anddetermining the intra prediction mode of the current block based on thecandidate list and an index.

In the method and device for decoding a video signal according to thepresent invention, a maximum number of candidates that can be includedin the candidate list may be more than three.

In the method and device for decoding a video signal according to thepresent invention, the determined intra prediction mode may be one ofextended intra prediction modes, and the extended intra prediction modesmay include a planar mode, a DC mode, and more than 33 directionalprediction modes.

In the method and device for decoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample using differential information of neighboring samplesof the current block.

In the method and device for decoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample based on at least one of predetermined weight andoffset.

According to the present invention, there is provided a method anddevice for encoding a video signal, the method including: determining anintra prediction mode of a current block; deriving a reference samplefor intra prediction of the current block; and performing intraprediction of the current block based on the intra prediction mode andthe reference sample.

In the method and device for encoding a video signal according to thepresent invention, the current block may be a coding block in anon-square shape partitioned based on at least one of a quad tree and abinary tree.

In the method and device for encoding a video signal according to thepresent invention, the determining of the intra prediction mode mayinclude: generating a candidate list having multiple candidates; anddetermining the intra prediction mode of the current block based on thecandidate list and an index.

In the method and device for encoding a video signal according to thepresent invention, a maximum number of candidates that can be includedin the candidate list may be more than three.

In the method and device for encoding a video signal according to thepresent invention, the determined intra prediction mode may be one ofextended intra prediction modes, and the extended intra prediction modesinclude a planar mode, a DC mode, and more than 33 directionalprediction modes.

In the method and device for encoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample using differential information of neighboring samplesof the current block.

In the method and device for encoding a video signal according to thepresent invention, the performing of intra prediction may include:obtaining a prediction sample of the current block based on the intraprediction mode and the reference sample; and correcting the obtainedprediction sample based on at least one of predetermined weight andoffset.

MODE FOR INVENTION

A variety of modifications may be made to the present invention andthere are various embodiments of the present invention, examples ofwhich will now be provided with reference to drawings and described indetail. However, the present invention is not limited thereto, and theexemplary embodiments can be construed as including all modifications,equivalents, or substitutes in a technical concept and a technical scopeof the present invention. The similar reference numerals refer to thesimilar element in described the drawings.

Terms used in the specification, ‘first’, ‘second’, etc. can be used todescribe various components, but the components are not to be construedas being limited to the terms. The terms are only used to differentiateone component from other components. For example, the ‘first’ componentmay be named the ‘second’ component without departing from the scope ofthe present invention, and the ‘second’ component may also be similarlynamed the ‘first’ component. The term ‘and/or’ includes a combination ofa plurality of items or any one of a plurality of terms.

It will be understood that when an element is simply referred to asbeing ‘connected to’ or ‘coupled to’ another element without being‘directly connected to’ or ‘directly coupled to’ another element in thepresent description, it may be ‘directly connected to’ or ‘directlycoupled to’ another element or be connected to or coupled to anotherelement, having the other element intervening therebetween. In contrast,it should be understood that when an element is referred to as being“directly coupled” or “directly connected” to another element, there areno intervening elements present.

The terms used in the present specification are merely used to describeparticular embodiments, and are not intended to limit the presentinvention. An expression used in the singular encompasses the expressionof the plural, unless it has a clearly different meaning in the context.In the present specification, it is to be understood that terms such as“including”, “having”, etc. are intended to indicate the existence ofthe features, numbers, steps, actions, elements, parts, or combinationsthereof disclosed in the specification, and are not intended to precludethe possibility that one or more other features, numbers, steps,actions, elements, parts, or combinations thereof may exist or may beadded.

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the accompanying drawings.Hereinafter, the same constituent elements in the drawings are denotedby the same reference numerals, and a repeated description of the sameelements will be omitted.

FIG. 1 is a block diagram illustrating a device for encoding a videoaccording to an embodiment of the present invention.

Referring to FIG. 1, the device 100 for encoding a video may include: apicture partitioning module 110, prediction modules 120 and 125, atransform module 130, a quantization module 135, a rearrangement module160, an entropy encoding module 165, an inverse quantization module 140,an inverse transform module 145, a filter module 150, and a memory 155.

The constitutional parts shown in FIG. 1 are independently shown so asto represent characteristic functions different from each other in thedevice for encoding a video. Thus, it does not mean that eachconstitutional part is constituted in a constitutional unit of separatedhardware or software. In other words, each constitutional part includeseach of enumerated constitutional parts for convenience. Thus, at leasttwo constitutional parts of each constitutional part may be combined toform one constitutional part or one constitutional part may be dividedinto a plurality of constitutional parts to perform each function. Theembodiment where each constitutional part is combined and the embodimentwhere one constitutional part is divided are also included in the scopeof the present invention, if not departing from the essence of thepresent invention.

Also, some of constituents may not be indispensable constituentsperforming essential functions of the present invention but be selectiveconstituents improving only performance thereof. The present inventionmay be implemented by including only the indispensable constitutionalparts for implementing the essence of the present invention except theconstituents used in improving performance. The structure including onlythe indispensable constituents except the selective constituents used inimproving only performance is also included in the scope of the presentinvention.

The picture partitioning module 110 may partition an input picture intoone or more processing units. Here, the processing unit may be aprediction unit (PU), a transform unit (TU), or a coding unit (CU). Thepicture partitioning module 110 may partition one picture intocombinations of multiple coding units, prediction units, and transformunits, and may encode a picture by selecting one combination of codingunits, prediction units, and transform units with a predeterminedcriterion (e.g., cost function).

For example, one picture may be partitioned into multiple coding units.A recursive tree structure, such as a quad tree structure, may be usedto partition a picture into coding units. A coding unit which ispartitioned into other coding units with one picture or a largest codingunit as a root may be partitioned with child nodes corresponding to thenumber of partitioned coding units. A coding unit which is no longerpartitioned by a predetermined limitation serves as a leaf node. Thatis, when it is assumed that only square partitioning is possible for onecoding unit, one coding unit may be partitioned into four other codingunits at most.

Hereinafter, in the embodiment of the present invention, the coding unitmay mean a unit performing encoding, or a unit performing decoding.

A prediction unit may be partitioned in at least one square shape orrectangular shape having the same size in a single coding unit, or maybe partitioned such that one partitioned prediction unit in a singlecoding unit has a shape and/or a size different from another partitionedprediction unit.

When a prediction unit subjected to intra prediction is generated basedon a coding unit and the coding unit is not the smallest coding unit,intra prediction may be performed without partitioning the predictioninto multiple prediction units N×N.

The prediction modules 120 and 125 may include an inter predictionmodule 120 performing inter prediction and an intra prediction module125 performing intra prediction. Whether to perform inter prediction orintra prediction for the prediction may be determined, and detailedinformation (e.g., an intra prediction mode, a motion vector, areference picture, etc.) according to each prediction method may bedetermined. Here, the processing unit subjected to prediction may bedifferent from the processing unit for which the prediction method anddetailed content is determined. For example, the prediction method, theprediction mode, etc. may be determined by the prediction unit, andprediction may be performed by the transform unit. A residual value(residual block) between the generated prediction block and an originalblock may be input to the transform module 130. Also, prediction modeinformation used for prediction, motion vector information, etc. may beencoded with the residual value by the entropy encoding module 165 andmay be transmitted to a device for decoding a video. When a particularencoding mode is used, the original block may be intactly encoded andtransmitted to a decoding module without generating the prediction blockthrough the prediction modules 120 and 125.

The inter prediction module 120 may predict the prediction unit based oninformation of at least one of a previous picture or a subsequentpicture of the current picture, or may predict the prediction unit basedon information of some encoded regions in the current picture, in somecases. The inter prediction module 120 may include a reference pictureinterpolation module, a motion prediction module, and a motioncompensation module.

The reference picture interpolation module may receive reference pictureinformation from the memory 155 and may generate pixel information of aninteger pixel or less from the reference picture. In the case of lumapixels, an 8-tap DCT-based interpolation filter having different filtercoefficients may be used to generate pixel information of an integerpixel or less in units of a ¼ pixel. In the case of chroma signals, a4-tap DCT-based interpolation filter having different filter coefficientmay be used to generate pixel information of an integer pixel or less inunits of a ⅛ pixel.

The motion prediction module may perform motion prediction based on thereference picture interpolated by the reference picture interpolationmodule. As methods for calculating a motion vector, various methods,such as a full search-based block matching algorithm (FBMA), a threestep search (TSS) algorithm, a new three-step search (NTS) algorithm,etc., may be used. The motion vector may have a motion vector value inunits of a ½ pixel or a ¼ pixel based on an interpolated pixel. Themotion prediction module may predict a current prediction unit bychanging the motion prediction method. As motion prediction methods,various methods, such as a skip method, a merge method, an AMVP(Advanced Motion Vector Prediction) method, an intra block copy method,etc., may be used.

The intra prediction module 125 may generate a prediction unit based onreference pixel information neighboring a current block which is pixelinformation in the current picture. When the neighboring block of thecurrent prediction unit is a block subjected to inter prediction andthus a reference pixel is a pixel subjected to inter prediction, thereference pixel included in the block subjected to inter prediction maybe used instead of reference pixel information of a neighboring blocksubjected to intra prediction. That is, when a reference pixel is notavailable, at least one reference pixel of available reference pixelsmay be used instead of unavailable reference pixel information.

Prediction modes in intra prediction may include a directionalprediction mode using reference pixel information depending on aprediction direction and a non-directional prediction mode not usingdirectional information in performing prediction. A mode for predictingluma information may be different from a mode for predicting chromainformation, and in order to predict the chroma information, intraprediction mode information used to predict luma information orpredicted luma signal information may be utilized.

In performing intra prediction, when the size of the prediction unit isthe same as the size of the transform unit, intra prediction may beperformed on the prediction unit based on pixels positioned at the left,the top left, and the top of the prediction unit. However, in performingintra prediction, when the size of the prediction unit is different fromthe size of the transform unit, intra prediction may be performed usinga reference pixel based on the transform unit. Also, intra predictionusing N×N partitioning for only the smallest coding unit may be used.

In the intra prediction method, a prediction block may be generatedafter applying an AIS (Adaptive Intra Smoothing) filter to a referencepixel depending on the prediction modes. The type of the AIS filterapplied to the reference pixel may vary. In order to perform the intraprediction method, an intra prediction mode of the current predictionunit may be predicted from the intra prediction mode of the predictionunit neighboring the current prediction unit. In prediction of theprediction mode of the current prediction unit by using mode informationpredicted from the neighboring prediction unit, when the intraprediction mode of the current prediction unit is the same as the intraprediction mode of the neighboring prediction unit, informationindicating that the prediction modes of the current prediction unit andthe neighboring prediction unit are equal to each other may betransmitted using predetermined flag information. When the predictionmode of the current prediction unit is different from the predictionmode of the neighboring prediction unit, entropy encoding may beperformed to encode prediction mode information of the current block.

Also, a residual block including information on a residual value whichis a different between the prediction unit subjected to prediction andthe original block of the prediction unit may be generated based onprediction units generated by the prediction modules 120 and 125. Thegenerated residual block may be input to the transform module 130.

The transform module 130 may transform the residual block including theinformation on the residual value between the original block and theprediction units generated by the prediction modules 120 and 125 byusing a transform method, such as discrete cosine transform (DCT),discrete sine transform (DST), and KLT. Whether to apply DCT, DST, orKLT in order to transform the residual block may be determined based onintra prediction mode information of the prediction unit used togenerate the residual block.

The quantization module 135 may quantize values transmitted to afrequency domain by the transform module 130. Quantization coefficientsmay vary depending on the block or importance of a picture. The valuescalculated by the quantization module 135 may be provided to the inversequantization module 140 and the rearrangement module 160.

The rearrangement module 160 may rearrange coefficients of quantizedresidual values.

The rearrangement module 160 may change a coefficient in the form of atwo-dimensional block into a coefficient in the form of aone-dimensional vector through a coefficient scanning method. Forexample, the rearrangement module 160 may scan from a DC coefficient toa coefficient in a high frequency domain using a zigzag scanning methodso as to change the coefficients to be in the form of one-dimensionalvectors. Depending on the size of the transform unit and the intraprediction mode, vertical direction scanning where coefficients in theform of two-dimensional blocks are scanned in the column direction orhorizontal direction scanning where coefficients in the form oftwo-dimensional blocks are scanned in the row direction may be usedinstead of zigzag scanning. That is, which scanning method among zigzagscanning, vertical direction scanning, and horizontal direction scanningis used may be determined depending on the size of the transform unitand the intra prediction mode.

The entropy encoding module 165 may perform entropy encoding based onthe values calculated by the rearrangement module 160. Entropy encodingmay use various encoding methods, for example, exponential Golombcoding, context-adaptive variable length coding (CAVLC), andcontext-adaptive binary arithmetic coding (CABAC).

The entropy encoding module 165 may encode a variety of information,such as residual value coefficient information and block typeinformation of the coding unit, prediction mode information, partitionunit information, prediction unit information, transform unitinformation, motion vector information, reference frame information,block interpolation information, filtering information, etc. from therearrangement module 160 and the prediction modules 120 and 125.

The entropy encoding module 165 may entropy encode the coefficients ofthe coding unit input from the rearrangement module 160.

The inverse quantization module 140 may inversely quantize the valuesquantized by the quantization module 135 and the inverse transformmodule 145 may inversely transform the values transformed by thetransform module 130. The residual value generated by the inversequantization module 140 and the inverse transform module 145 may becombined with the prediction unit predicted by a motion estimationmodule, a motion compensation unit, and the intra prediction module ofthe prediction modules 120 and 125 such that a reconstructed block canbe generated.

The filter module 150 may include at least one of a deblock filter, anoffset correction unit, and an adaptive loop filter (ALF).

The deblocking filter may remove block distortion that occurs due toboundaries between the blocks in the reconstructed picture. In order todetermine whether to perform deblocking, whether to apply the deblockingfilter to the current block may be determined based on the pixelsincluded in several rows or columns in the block. When the deblockingfilter is applied to the block, a strong filter or a weak filter may beapplied depending on required deblocking filtering strength. Also, inapplying the deblocking filter, horizontal direction filtering andvertical direction filtering may be processed in parallel.

The offset correction module may correct offset from the originalpicture with respect to the picture subjected to deblocking in units ofa pixel. In order to perform the offset correction on a particularpicture, it is possible to use a method of applying offset inconsideration of edge information of each pixel or a method ofpartitioning pixels of a picture into the predetermined number ofregions, determining a region to be subjected to perform offset, andapplying the offset to the determined region.

Adaptive loop filtering (ALF) may be performed based on the valueobtained by comparing the filtered reconstructed picture and theoriginal picture. The pixels included in the picture may be divided intopredetermined groups, a filter to be applied to each of the groups maybe determined, and filtering may be individually performed for eachgroup. Information on whether to apply ALF and a luma signal may betransmitted by coding units (CU). The form and filter coefficient of afilter for ALF may vary depending on each block. Also, the filter forALF in the same form (fixed form) may be applied regardless ofcharacteristics of the application target block.

The memory 155 may store the reconstructed block or picture calculatedthrough the filter module 150. The stored reconstructed block or picturemay be provided to the prediction modules 120 and 125 in performinginter prediction.

FIG. 2 is a block diagram illustrating a device for decoding a videoaccording to an embodiment of the present invention.

Referring to FIG. 2, the device 200 for decoding a video may include: anentropy decoding module 210, a rearrangement module 215, an inversequantization module 220, an inverse transform module 225, predictionmodules 230 and 235, a filter module 240, and a memory 245.

When a video bitstream is input from the device for encoding a video,the input bitstream may be decoded according to an inverse process ofthe device for encoding a video.

The entropy decoding module 210 may perform entropy decoding accordingto an inverse process of entropy encoding by the entropy encoding moduleof the device for encoding a video. For example, corresponding to themethods performed by the device for encoding a video, various methods,such as exponential Golomb coding, context-adaptive variable lengthcoding (CAVLC), and context-adaptive binary arithmetic coding (CABAC)may be applied.

The entropy decoding module 210 may decode information on intraprediction and inter prediction performed by the device for encoding avideo.

The rearrangement module 215 may perform rearrangement on the bitstreamentropy decoded by the entropy decoding module 210 based on therearrangement method used in the device for encoding a video. Therearrangement module may reconstruct and rearrange the coefficients inthe form of one-dimensional vectors to the coefficient in the form oftwo-dimensional blocks. The rearrangement module 215 may performrearrangement receiving information related to coefficient scanningperformed in the device for encoding a video and inversely scanning thecoefficients based on the scanning order performed in the device forencoding a video.

The inverse quantization module 220 may perform inverse quantizationbased on a quantization parameter received from the device for encodinga video and the rearranged coefficients of the block.

The inverse transform module 225 may perform the inverse transform,i.e., inverse DCT, inverse DST, and inverse KLT, that is the inverse oftransform, i.e., DCT, DST, and KLT, performed by the transform module onthe quantization result by the device for encoding a video. Inversetransform may be performed based on the transfer unit determined by thedevice for encoding a video. The inverse transform module 225 of thedevice for decoding a video may selectively perform transform techniques(e.g., DCT, DST, and KLT) depending on multiple pieces of information,such as the prediction method, the size of the current block, theprediction direction, etc.

The prediction modules 230 and 235 may generate a prediction block basedon information on prediction block generation received from the entropydecoding module 210 and previously decoded block or picture informationreceived from the memory 245.

As described above, like the operation of the device for encoding avideo, in performing intra prediction, when the size of the predictionunit is the same as the size of the transform unit, intra prediction maybe performed on the prediction unit based on the pixels positioned atthe left, the top left, and the top of the prediction unit. Inperforming intra prediction, when the size of the prediction unit isdifferent from the size of the transform unit, intra prediction may beperformed using a reference pixel based on the transform unit. Also,intra prediction using N×N partitioning for only the smallest codingunit may be used.

The prediction modules 230 and 235 may include a prediction unitdetermination module, an inter prediction module, and an intraprediction module. The prediction unit determination module may receivea variety of information, such as prediction unit information,prediction mode information of an intra prediction method, informationon motion prediction of an inter prediction method, etc. from theentropy decoding module 210, may distinguish a prediction unit in acurrent coding unit, and may determine whether inter prediction or intraprediction is performed on the prediction unit. By using informationrequired in inter prediction of the current prediction unit receivedfrom the device for encoding a video, the inter prediction module 230may perform inter prediction on the current prediction unit based oninformation of at least one of a previous picture or a subsequentpicture of the current picture including the current prediction unit.Alternatively, inter prediction may be performed based on information ofsome pre-reconstructed regions in the current picture including thecurrent prediction unit.

In order to perform inter prediction, it may be determined which of askip mode, a merge mode, an AMVP mode, and an inter block copy mode isused as the motion prediction method of the prediction unit included inthe coding unit based on the coding unit.

The intra prediction module 235 may generate a prediction block based onpixel information in the current picture. When the prediction unit is aprediction unit subjected to intra prediction, intra prediction may beperformed based on intra prediction mode information of the predictionunit received from the device for encoding a video. The intra predictionmodule 235 may include an adaptive intra smoothing (AIS) filter, areference pixel interpolation module, and a DC filter. The AIS filterperforms filtering on the reference pixel of the current block, andwhether to apply the filter may be determined depending on theprediction mode of the current prediction unit. AIS filtering may beperformed on the reference pixel of the current block by using theprediction mode of the prediction unit received from the device forencoding a video and AIS filter information. When the prediction mode ofthe current block is a mode where AIS filtering is not performed, theAIS filter may not be applied.

When the prediction mode of the prediction unit is a prediction mode inwhich intra prediction is performed based on the pixel value obtained byinterpolating the reference pixel, the reference pixel interpolationmodule may interpolate the reference pixel to generate the referencepixel of an integer pixel or less. When the prediction mode of thecurrent prediction unit is a prediction mode in which a prediction blockis generated without interpolation the reference pixel, the referencepixel may not be interpolated. The DC filter may generate a predictionblock through filtering when the prediction mode of the current block isa DC mode.

The reconstructed block or picture may be provided to the filter module240. The filter module 240 may include the deblocking filter, the offsetcorrection module, and the ALF.

Information on whether or not the deblock filter is applied to thecorresponding block or picture and information on which of a strongfilter and a weak filter is applied when the deblocking filter isapplied may be received from the device for encoding a video. Thedeblocking filter of the device for decoding a video may receiveinformation on the deblocking filter from the device for encoding avideo, and may perform deblocking filtering on the corresponding block.

The offset correction module may perform offset correction on thereconstructed picture based on the type of offset correction applied toa picture in performing encoding and offset value information.

The ALF may be applied to the coding unit based on information onwhether to apply the ALF, ALF coefficient information, etc. receivedfrom the device for encoding a video. The ALF information may beprovided as being included in a particular parameter set.

The memory 245 may store the reconstructed picture or block for use as areference picture or block, and may provide the reconstructed picture toan output module.

As described above, in the embodiment of the present invention, forconvenience of explanation, the coding unit is used as a termrepresenting an encoding unit, but the coding unit may serve as a unitperforming decoding as well as encoding.

FIG. 3 is a view illustrating an example of hierarchically partitioninga coding block based on a tree structure according to an embodiment ofthe present invention.

An input video signal is decoded in predetermined block units, and adefault unit for decoding the input video signal is a coding block. Thecoding block may be a unit performing intra/inter prediction, transform,and quantization. The coding block may be a square or non-square blockhaving an arbitrary size in a range of 8×8 to 64×64, or may be a squareor non-square block having a size of 128×128, 256×256, or more.

Specifically, the coding block may be hierarchically partitioned basedon at least one of a quad tree and a binary tree. Here, quad tree-basedpartitioning may mean that a 2N×2N coding block is partitioned into fourN×N coding blocks, and binary tree-based partitioning may mean that onecoding block is partitioned into two coding blocks. Binary tree-basedpartitioning may be symmetrically or asymmetrically performed. Thecoding block partitioned based on the binary tree may be a square blockor a non-square block, such as a rectangular shape. Binary tree-basedpartitioning may be performed on a coding block where quad tree-basedpartitioning is no longer performed. Quad tree-based partitioning may nolonger be performed on the coding block partitioned based on the binarytree.

In order to realize adaptive partitioning based on the quad tree orbinary tree, information indicating quad tree-based partitioning,information on the size/depth of the coding block that quad tree-basedpartitioning is allowed, information indicating binary tree-basedpartitioning, information on the size/depth of the coding block thatbinary tree-based partitioning is allowed, information on the size/depthof the coding block that binary tree-based partitioning is not allowed,information on whether binary tree-based partitioning is performed in avertical direction or a horizontal direction, etc. may be used.

As shown in FIG. 3, the first coding block 300 with the partition depth(split depth) of k may be partitioned into multiple second coding blocksbased on the quad tree. For example, the second coding blocks 310 to 340may be square blocks having the half width and the half height of thefirst coding block, and the partition depth of the second coding blockmay be increased to k+1.

The second coding block 310 with the partition depth of k+1 may bepartitioned into multiple third coding blocks with the partition depthof k+2. Partitioning of the second coding block 310 may be performed byselectively using one of the quad tree and the binary tree depending ona partitioning way. Here, the partitioning way may be determined basedon at least one of the information indicating quad tree-basedpartitioning and the information indicating binary tree-basedpartitioning.

When the second coding block 310 is partitioned based on the quad tree,the second coding block 310 may be partitioned into four third codingblocks 310 a having the half width and the half height of the secondcoding block, and the partition depth of the third coding block 310 amay be increased to k+2. In contrast, when the second coding block 310is partitioned based on the binary tree, the second coding block 310 maybe partitioned into two third coding blocks. Here, each of two thirdcoding blocks may be a non-square block having one of the half width andthe half height of the second coding block, and the partition depth maybe increased to k+2. The second coding block may be determined as anon-square block of a horizontal direction or a vertical directiondepending on a partitioning direction, and the partitioning directionmay be determined based on the information on whether binary tree-basedpartitioning is performed in a vertical direction or a horizontaldirection.

In the meantime, the second coding block 310 may be determined as a leafcoding block that is no longer partitioned based on the quad tree or thebinary tree. In this case, the leaf coding block may be used as aprediction block or a transform block.

Like partitioning of the second coding block 310, the third coding block310 a may be determined as a leaf coding block, or may be furtherpartitioned based on the quad tree or the binary tree.

In the meantime, the third coding block 310 b partitioned based on thebinary tree may be further partitioned into coding blocks 310 b-2 of avertical direction or coding blocks 310 b-3 of a horizontal directionbased on the binary tree, and the partition depth of the relevant codingblocks may be increased to k+3. Alternatively, the third coding block310 b may be determined as a leaf coding block 310 b-1 that is no longerpartitioned based on the binary tree. In this case, the coding block 310b-1 may be used as a prediction block or a transform block. However, theabove partitioning process may be limitedly performed based on at leastone of the information on the size/depth of the coding block that quadtree-based partitioning is allowed, the information on the size/depth ofthe coding block that binary tree-based partitioning is allowed, and theinformation on the size/depth of the coding block that binary tree-basedpartitioning is not allowed.

FIG. 4 is a view illustrating types of pre-defined intra predictionmodes for a device for encoding/decoding a video according to anembodiment of the present invention.

The device for encoding/decoding a video may perform intra predictionusing one of pre-defined intra prediction modes. The pre-defined intraprediction modes for intra prediction may include non-directionalprediction modes (e.g., a planar mode, a DC mode) and 33 directionalprediction modes.

Alternatively, in order to enhance accuracy of intra prediction, alarger number of directional prediction modes than the 33 directionalprediction mode may be used. That is, M extended directional predictionmodes may be defined by subdividing angles of the directional predictionmodes (M>33), and a directional prediction mode having a predeterminedangle may be derived using at least one of the 33 pre-defineddirectional prediction modes.

FIG. 4 shows an example of extended intra prediction modes, and theextended intra prediction modes may include two non-directionalprediction modes and 65 extended directional prediction modes. The samenumbers of the extended intra prediction modes may be used for a lumacomponent and a chroma component, or a different number of intraprediction modes may be used for each component. For example, 67extended intra prediction modes may be used for the luma component, and35 intra prediction modes may be used for the chroma component.

Alternatively, depending on the chroma format, a different number ofintra prediction modes may be used in performing intra prediction. Forexample, in the case of the 4:2:0 format, 67 intra prediction modes maybe used for the luma component to perform intra prediction and 35 intraprediction modes may be used for the chroma component. In the case ofthe 4:4:4 format, 67 intra prediction modes may be used for both theluma component and the chroma component to perform intra prediction.

Alternatively, depending on the size and/or shape of the block, adifferent number of intra prediction modes may be used to perform intraprediction. That is, depending on the size and/or shape of the PU or CU,35 intra prediction modes or 67 intra prediction modes may be used toperform intra prediction. For example, when the CU or PU has the sizeless than 64×64 or is asymmetrically partitioned, 35 intra predictionmodes may be used to perform intra prediction. When the size of the CUor PU is equal to or greater than 64×64, 67 intra prediction modes maybe used to perform intra prediction. 65 directional intra predictionmodes may be allowed for Intra 2N×2N, and only 35 directional intraprediction modes may be allowed for Intra N×N.

FIG. 5 is a flowchart briefly illustrating an intra prediction methodaccording to an embodiment of the present invention.

Referring to FIG. 5, an intra prediction mode of the current block maybe determined at step S500.

Specifically, the intra prediction mode of the current block may bederived based on a candidate list and an index. Here, the candidate listcontains multiple candidates, and the multiple candidates may bedetermined based on an intra prediction mode of the neighboring blockadjacent to the current block. The neighboring block may include atleast one of blocks positioned at the top, the bottom, the left, theright, and the corner of the current block. The index may specify one ofthe multiple candidates of the candidate list. The candidate specifiedby the index may be set to the intra prediction mode of the currentblock.

An intra prediction mode used for intra prediction in the neighboringblock may be set as a candidate. Also, an intra prediction mode havingdirectionality similar to that of the intra prediction mode of theneighboring block may be set as a candidate. Here, the intra predictionmode having similar directionality may be determined by adding orsubtracting a predetermined constant value to or from the intraprediction mode of the neighboring block. The predetermined constantvalue may be an integer, such as one, two, or more.

The candidate list may further include a default mode. The default modemay include at least one of a planar mode, a DC mode, a vertical mode,and a horizontal mode. The default mode may be adaptively addedconsidering the maximum number of candidates that can be included in thecandidate list of the current block.

The maximum number of candidates that can be included in the candidatelist may be three, four, five, six, or more. The maximum number ofcandidates that can be included in the candidate list may be a fixedvalue preset in the device for encoding/decoding a video, or may bedifferently determined based on a characteristic of the current block.The characteristic may mean the location/size/shape of the block, thenumber/type of intra prediction modes that the block can use, etc.Alternatively, information indicating the maximum number of candidatesthat can be included in the candidate list may be signaled separately,and the maximum number of candidates that can be included in thecandidate list may be differently determined using the information. Theinformation indicating the maximum number of candidates may be signaledin at least one of a sequence level, a picture level, a slice level, anda block level.

When the extended intra prediction modes and the 35 pre-defined intraprediction modes are selectively used, the intra prediction modes of theneighboring blocks may be transformed into indexes corresponding to theextended intra prediction modes, or into indexes corresponding to the 35intra prediction modes, whereby candidates can be derived. For transformto an index, a pre-defined table may be used, or a scaling operationbased on a predetermined value may be used. Here, the pre-defined tablemay define a mapping relation between different intra prediction modegroups (e.g., extended intra prediction modes and 35 intra predictionmodes).

For example, when the left neighboring block uses the 35 intraprediction modes and the intra prediction mode of the left neighboringblock is 10 (a horizontal mode), it may be transformed into an index of16 corresponding to a horizontal mode in the extended intra predictionmodes.

Alternatively, when the top neighboring block uses the extended intraprediction modes and the intra prediction mode the top neighboring blockhas an index of 50 (a vertical mode), it may be transformed into anindex of 26 corresponding to a vertical mode in the 35 intra predictionmodes.

Based on the above-described method of determining the intra predictionmode, the intra prediction mode may be derived independently for each ofthe luma component and the chroma component, or the intra predictionmode of the chroma component may be derived depending on the intraprediction mode of the luma component.

Specifically, the intra prediction mode of the chroma component may bedetermined based on the intra prediction mode of the luma component asshown in the following Table 1.

TABLE 1 intra_chroma_pred_mode IntraPredModeY[xCb][yCb] [xCb][yCb] 0 2610 1 X(0 <= X <= 34) 0 34 0 0 0 0 1 26 34 26 26 26 2 10 10 34 10 10 3 11 1 34 1 4 0 26 10 1 X

In Table 1, intra_chroma_pred_mode means information signaled to specifythe intra prediction mode of the chroma component, and IntraPredModeYindicates the intra prediction mode of the luma component.

Referring to 5, a reference sample for intra prediction of the currentblock may be derived at step S510.

Specifically, a reference sample for intra prediction may be derivedbased on a neighboring sample of the current block. The neighboringsample may be a reconstructed sample of the neighboring block, and thereconstructed sample may be a reconstructed sample before an in-loopfilter is applied or a reconstructed sample after the in-loop filter isapplied.

A neighboring sample reconstructed before the current block may be usedas the reference sample, and a neighboring sample filtered based on apredetermined intra filter may be used as the reference sample. Theintra filter may include at least one of the first intra filter appliedto multiple neighboring samples positioned on the same horizontal lineand the second intra filter applied to multiple neighboring samplespositioned on the same vertical line. Depending on the positions of theneighboring samples, one of the first intra filter and the second intrafilter may be selectively applied, or both intra filters may be applied.

Filtering may be adaptively performed based on at least one of the intraprediction mode of the current block and the size of the transform blockfor the current block.

For example, when the intra prediction mode of the current block is theDC mode, the vertical mode, or the horizontal mode, filtering may not beperformed. When the size of the transform block is N×M, filtering maynot be performed. Here, N and M may be the same values or differentvalues, or may be values of 4, 8, 16, or more. Alternatively, filteringmay be selectively performed based on the result of a comparison of apre-defined threshold and the difference between the intra predictionmode of the current block and the vertical mode (or the horizontalmode). For example, when the difference between the intra predictionmode of the current block and the vertical mode is greater than athreshold, filtering may be performed. The threshold may be defined foreach size of the transform block as shown in Table 2.

TABLE 2 8×8 transform 16×16 transform 32×32 transform Threshold 7 1 0

The intra filter may be determined as one of multiple intra filtercandidates pre-defined in the device for encoding/decoding a video. Tothis end, an index specifying an intra filter of the current block amongthe multiple intra filter candidates may be signaled. Alternatively, theintra filter may be determined based on at least one of the size/shapeof the current block, the size/shape of the transform block, informationon the filter strength, and variations of the neighboring samples.

Referring to FIG. 5, intra prediction may be performed using the intraprediction mode of the current block and the reference sample at stepS520.

That is, the prediction sample of the current block may be obtainedusing the intra prediction mode determined at step S500 and thereference sample derived at step S510. However, in the case of intraprediction, a boundary sample of the neighboring block may be used, andthus quality of the prediction picture may be decreased. Therefore, acorrection process may be performed on the prediction sample generatedthrough the above-described prediction process, and will be described indetail with reference to FIGS. 6 to 15. However, the correction processis not limited to being applied only to the intra prediction sample, andmay be applied to an inter prediction sample or the reconstructedsample.

FIG. 6 is a view illustrating a method of correcting a prediction sampleof a current block based on differential information of neighboringsamples according to an embodiment of the present invention.

The prediction sample of the current block may be corrected based on thedifferential information of multiple neighboring samples for the currentblock. The correction may be performed on all prediction samples in thecurrent block, or may be performed on prediction samples in somepredetermined regions. Some regions may be one row/column or multiplerows/columns, or may be preset regions for correction in the device forencoding/decoding a video, or may be differently determined based on atleast one of the size/shape of the current block and the intraprediction mode.

The neighboring samples may belong to the neighboring blocks positionedat the top, the left, and the top left corner of the current block. Thenumber of neighboring samples used for correction may be two, three,four, or more. The positions of the neighboring samples may bedifferently determined depending on the position of the predictionsample which is the correction target in the current block.Alternatively, some of the neighboring samples may have fixed positionsregardless of the position of the prediction sample which is thecorrection target, and the remaining neighboring samples may havepositions differently depending on the position of the prediction samplewhich is the correction target.

The differential information of the neighboring samples may mean adifferential sample between the neighboring samples, or may mean a valueobtained by scaling the differential sample by a predetermined constantvalue (e.g., one, two, three, etc.). Here, the predetermined constantvalue may be determined considering the position of the predictionsample which is the correction target, the position of the column or rowincluding the prediction sample which is the correction target, theposition of the prediction sample within the column or row, etc.

For example, when the intra prediction mode of the current block is thevertical mode, differential samples between the top left neighboringsample p(−1, −1) and neighboring samples p (−1, y) adjacent to the leftboundary of the current block may be used to obtain the final predictionsample as shown in Formula 1. (y=0 . . . N−1)

P′(0,y)=P(0,y)+((p(−1,y)−p(−1,−1))>>1  [Formula 1]

For example, when the intra prediction mode of the current block is thehorizontal mode, differential samples between the top left neighboringsample p(−1, −1) and neighboring samples p(x, −1) adjacent to the topboundary of the current block may be used to obtain the final predictionsample as shown in Formula 2. (x=0 . . . N−1)

P′(x,0)=p(x,0)+((p(x,−1)−p(−1,−1))>>1  [Formula 2]

For example, when the intra prediction mode of the current block is thevertical mode, differential samples between the top left neighboringsample p(−1, −1) and neighboring samples p(−1, y) adjacent to the leftboundary of the current block may be used to obtain the final predictionsample. Here, the differential sample may be added to the predictionsample, or the differential sample may be scaled by a predeterminedconstant value, and then added to the prediction sample. Thepredetermined constant value used in scaling may be determineddifferently depending on the column and/or row. For example, theprediction sample may be corrected as shown in Formula 3 and Formula 4.(y=0 . . . N−1)

P′(0,y)=P(0,y)+((p(−1,y)−p(−1,−1))>>1  [Formula 3]

P′(1,y)=P(1,y)+((p(−1,y)−p(−1,−1))>>2  [Formula 4]

For example, when the intra prediction mode of the current block is thehorizontal mode, differential samples between the top left neighboringsample p(−1, −1) and neighboring samples p(x, −1) adjacent to the topboundary of the current block may be used to obtain the final predictionsample, as described in the case of the vertical mode. For example, theprediction sample may be corrected as shown in Formula 5 and Formula 6.(x=0 . . . . N−1)

P′(x,0)=p(x,0)+((p(x,−1)−p(−1,−1))>>1  [Formula 5]

P′(x,1)=p(x,1)+((p(x,−1)−p(−1,−1))>>2  [Formula 6]

FIGS. 7 and 8 are views illustrating a method of correcting a predictionsample based on a predetermined correction filter according to anembodiment of the present invention.

The prediction sample may be corrected based on the neighboring sampleof the prediction sample which is the correction target and apredetermined correction filter. Here, the neighboring sample may bespecified by an angular line of the directional prediction mode of thecurrent block, or may be at least one sample positioned on the sameangular line as the prediction sample which is the correction target.Also, the neighboring sample may be a prediction sample in the currentblock, or may be a reconstructed sample in a neighboring blockreconstructed before the current block.

At least one of the number of taps, strength, and a filter coefficientof the correction filter may be determined based on at least one of theposition of the prediction sample which is the correction target,whether or not the prediction sample which is the correction target ispositioned on the boundary of the current block, the intra predictionmode of the current block, angle of the directional prediction mode, theprediction mode (inter or intra mode) of the neighboring block, and thesize/shape of the current block.

Referring to FIG. 7, when the directional prediction mode has an indexof 2 or 34, at least one prediction/reconstructed sample positioned atthe bottom left of the prediction sample which is the correction targetand the predetermined correction filter may be used to obtain the finalprediction sample. Here, the prediction/reconstructed sample at thebottom left may belong to a previous line of a line including theprediction sample which is the correction target, to the same block asthe current sample, or to neighboring block adjacent to the currentblock.

Filtering for the prediction sample may be performed only on the linepositioned at the block boundary, or may be performed on multiple lines.The correction filter where at least one of the number of filter tapsand a filter coefficient is different for each of lines may be used. Forexample, a (½, ½) filter may be used for the left first line closest tothe block boundary, a ( 12/16, 4/16) filter may be used for the secondline, a ( 14/16, 2/16) filter may be used for the third line, and a (15/16, 1/16) filter may be used for the fourth line.

Alternatively, when the directional prediction mode has an index of 3 to6 or 30 to 33, filtering may be performed on the block boundary as shownin FIG. 8, and a 3-tap correction filter may be used to correct theprediction sample. Filtering may be performed using the bottom leftsample of the prediction sample which is the correction target, thebottom sample of the bottom left sample, and a 3-tap correction filterthat takes as input the prediction sample which is the correctiontarget. The position of neighboring sample used by the correction filtermay be determined differently based on the directional prediction mode.The filter coefficient of the correction filter may be determineddifferently depending on the directional prediction mode.

Different correction filters may be applied depending on whether theneighboring block is encoded in the inter mode or the intra mode. Whenthe neighboring block is encoded in the intra mode, a filtering methodwhere more weight is given to the prediction sample may be used,compared to when the neighboring block is encoded in the inter mode. Forexample, in the case of that the intra prediction mode is 34, when theneighboring block is encoded in the inter mode, a (½, ½) filter may beused, and when the neighboring block is encoded in the intra mode, a (4/16, 12/16) filter may be used.

The number of lines to be filtered in the current block may varydepending on the size/shape of the current block (e.g., the coding blockand the prediction block). For example, when the size of the currentblock is equal to or less than 32×32, filtering may be performed on onlyone line at the block boundary; otherwise, filtering may be performed onmultiple lines including the one line at the block boundary.

FIGS. 7 and 8 are based on the case where the 35 intra prediction modesin FIG. 4 are used, but may be equally/similarly applied to the casewhere the extended intra prediction modes are used.

FIG. 9 is a view illustrating a method of correcting a prediction sampleusing weight and offset according to an embodiment of the presentinvention.

When brightness changes between the previous frame and the current frameoccurs even though the current block is similar to a collocated block ofthe previous frame, the prediction picture may not be encoded in intraprediction or in inter prediction, or quality of the prediction pictureencoded in intra prediction or in inter prediction may be relativelylow. In this case, the weight and offset for brightness compensation maybe applied to the prediction sample such that quality of the predictionpicture can be enhanced.

Referring to FIG. 9, at least one of the weight w and offset f may bedetermined at step S900.

At least one of the weight w and offset f may be signaled in at leastone of a sequence parameter set, a picture parameter set, and a sliceheader. Alternatively, at least one of the weight w and offset f may besignaled in predetermined block units sharing the same, and multipleblocks (e.g., the CU, the PU, and the TU) belonging to a predeterminedblock unit may share one signaled weight w and/or offset f.

At least one of the weight w and offset f may be signaled regardless ofthe prediction mode of the current block, and may be signaledselectively considering the prediction mode. For example, when theprediction mode of the current block is the inter mode, the weight wand/or offset f may be signaled; otherwise, it may not be signaled.Here, the inter mode may include at least one of the skip mode, themerge mode, the AMVP mode, and the current picture reference mode. Thecurrent picture reference mode may mean a prediction mode using apre-reconstructed region in the current picture including the currentblock. A motion vector for the current picture reference mode may beused to specify the pre-reconstructed region. A flag or index indicatingwhether the current block is encoded in the current picture referencemode may be signaled, or may be derived through a reference pictureindex of the current block. The current picture for the current picturereference mode may exist at a fixed position (e.g., the position withrefIdx=0 or the last position) in the reference picture list of thecurrent block. Alternatively, the current picture may be differentlypositioned in the reference picture list, and to this end, a separatereference picture index indicating the position of the current picturemay be signaled.

The weight may be derived using brightness change between the firsttemplate in a particular shape adjacent to the current block and thesecond template corresponding thereto adjacent to the previous block.The second template may include an unavailable sample. In this case, anavailable sample may be copied to the position of the unavailablesample, or the available sample may be derived through interpolationbetween multiple available samples. Here, the available sample may beincluded in the second template or the neighboring block. At least oneof the coefficient, the shape, and the number of taps of the filter usedin interpolation may be determined differently based on the size and/orshape of the template. A method of composing a template will bedescribed in detail with reference to FIGS. 10 to 15.

For example, when the neighboring sample of the current block isdesignated by y_(i) (i ranging 0 to N−1) and the neighboring sample ofthe collocated block is designated by x_(i) (i ranging 0 to N−1), theweight w and offset f may be derived as follows.

Using a particular-shaped template adjacent to the current block, theweight w and offset f may be derived by obtaining the minimum value ofE(w, f) in Formula 7.

E(w,f)=Σ_(i)(p _(i)−(wp _(i) −f))²+λ(w−1)²  [Formula 7]

Formula 7 for obtaining the minimum value may be changed to Formula 8.

$\begin{matrix}{{\begin{pmatrix}{{\sum_{i}{x_{i}x_{i}}} + \lambda} & {\sum_{i}x_{i}} \\{\sum_{i}x_{i}} & {\sum_{i}1}\end{pmatrix}\begin{pmatrix}w \\f\end{pmatrix}} = \begin{pmatrix}{{\sum_{i}{x_{i}y_{i}}} + \lambda} \\{\sum_{i}y_{i}}\end{pmatrix}} & \left\lbrack {{Formula}\mspace{14mu} 8} \right\rbrack\end{matrix}$

Formula 9 for deriving the weight w and Formula 10 for deriving theoffset f may be obtained from Formula 8.

$\begin{matrix}{w = \frac{{N{\sum_{i}{x_{i}y_{i}}}} - {\sum_{i}{x_{i}{\sum_{i}y_{i}}}} + \lambda}{{N{\sum_{i}{x_{i}x_{i}}}} - {\sum_{i}{x_{i}{\sum_{i}x_{i}}}} + \lambda}} & \left\lbrack {{Formula}\mspace{14mu} 9} \right\rbrack \\{f = {{\sum_{i}y_{i}} - {a \otimes {\sum_{i}x_{i}}}}} & \left\lbrack {{Formula}\mspace{14mu} 10} \right\rbrack\end{matrix}$

Referring to FIG. 9, at least one of the weight and offset determined atstep S900 may be used to correct the prediction sample.

For example, when brightness change occurs at the entire frames, theweight w and offset f are applied to the prediction sample p generatedthrough intra prediction such that a corrected prediction sample p′ maybe obtained as shown in Formula 11.

p′=w×p+f  [Formula 11]

Here, the weight w and offset f may be applied to the prediction samplegenerated through inter prediction, or may be applied to thereconstructed sample.

FIGS. 10 to 15 are views illustrating a method of composing a templateto determine weight w according to an embodiment of the presentinvention.

Referring to the left of FIG. 10, a template may be composed of allneighboring samples adjacent to the current block, or a template may becomposed of some samples sub-sampled from the neighboring samplesadjacent to the current block. The middle of FIG. 10 shows an example of½ sub-sampling, and a template may be composed of only samples in gray.Instead of ½ sub-sampling, the template may be composed using ¼sub-sampling or ⅛ sub-sampling. As shown in the right of FIG. 10, atemplate may be composed of all neighboring samples adjacent to thecurrent block except for the sample positioned at the top left. Notshown in FIG. 10, considering the position of the current block in thepicture or a coding tree block (largest coding unit), a templatecomposed of only the samples positioned on the left or a templatecomposed of only the samples positioned at the top may be used.

Referring to FIG. 11, the template may be composed by increasing thenumber of neighboring samples. That is, the template in FIG. 11 may becomposed of the first neighboring samples adjacent to the boundary ofthe current block and the second neighboring samples adjacent to thefirst neighboring samples.

As shown in the left of FIG. 11, a template may be composed of allneighboring samples belonging to two lines adjacent to the boundary ofthe current block, or as shown in the middle of FIG. 11, a template maybe composed by sub-sampling the template in the left. As shown in theright of FIG. 11, a template may be composed excluding four samplesbelonging to the top left. Not shown in FIG. 11, considering theposition of the current block in the picture or a coding tree block(largest coding unit), a template composed of only the samplespositioned on the left or a template composed of only the samplespositioned at the top may be used.

Alternatively, different templates may be composed depending on the sizeand/or shape of the current block (whether the current block has asquare shape whether the current block is symmetrically partitioned).For example, as shown in FIG. 12, a sub-sampling rate of the templatemay be applied differently depending on the size of the current block.For example, as shown in the left of FIG. 12, when the size of the blockis equal to or less than 64×64, a ½ sub-sampled template may becomposed. As shown in the right of FIG. 12, when the size of the blockis equal to or greater than 128×128, a ¼ sub-sampled template may becomposed.

Referring to FIG. 13, the template may be composed by increasing thenumber of neighboring samples adjacent to the current block depending onthe size thereof.

Multiple template candidates that can be used in a sequence or slice maybe determined, and one of the multiple template candidates may beselectively used. The multiple template candidates may be templates indifferent shapes and/or sizes. Information on the shape and/or size ofthe template may be signaled in a sequence header or slice header. Inthe device for encoding/decoding a video, an index may be assigned toeach template candidate. In order to identify template candidates to beused in the current sequence, picture, or slice among the multipletemplate candidates, syntax type_weight_pred_template_idx may beencoded. The device for decoding a video may use the template candidatesselectively based on the syntax type_weight_pred_template_idx.

For example, as shown in FIG. 14, the template of the middle of FIG. 10may be assigned to 0, the template of the right of FIG. 10 may beassigned to 1, the template of the middle of FIG. 11 may be assigned to2, and the template of the right of FIG. 11 may be assigned to 3. Thetemplate used in the sequence may be signaled.

When performing weighted prediction using a non-square block, thetemplate may be composed by applying different sub-sampling rates tolong and short sides such that the total number of templates is2{circumflex over ( )}N. For example, as shown in FIG. 15, the templatemay be composed by performing ½ sub-sampling on the short side and ¼sub-sampling on the long side.

INDUSTRIAL APPLICABILITY

The present invention may be used in encoding/decoding a video signal.

1-15. (canceled)
 16. A method for decoding a video, the method comprising: determining whether a coding block is partitioned into 4 child coding blocks or not; when it is determined that the coding block is not partitioned into 4 child coding blocks, determining whether the coding block is partitioned into 2 child coding blocks or not; when it is determined that the coding block is partitioned into 2 child coding blocks, partitioning the coding block into the 2 child coding blocks in a horizontal direction or in a vertical direction; determining a prediction mode of a current block, the current block being one of the 2 child coding blocks; when the prediction mode of the current block is inter prediction, determining motion information of the current block; obtaining a prediction sample of the current block; obtaining a residual sample of the current block; and obtaining a reconstruction sample of the current block by summing the prediction sample and the residual sample, wherein the prediction sample of the current block is obtained based on a weighted sum operation of a first predicted sample and a second predicted sample of the current block, wherein the first predicted sample is derived by using the motion information of the current block and the second predicted sample is derived by using at least one reference sample of the current block, and wherein a set of weights applied to the first predicted sample and the second predicted sample is determined based on whether a prediction mode of a neighboring block adjacent to the current block is inter prediction or intra prediction.
 17. The method of claim 16, wherein a first weight applied to the first predicted sample is greater when the prediction mode of the neighboring block is the inter prediction than when the prediction mode of the neighboring block is the intra prediction.
 18. The method of claim 16, wherein the set of weights is determined among a plurality of candidate sets, and wherein the plurality of candidate sets comprise a set of (½, ½) and a set of (¼, ¾).
 19. A method for encoding a video, the method comprising: determining whether a coding block is partitioned into 4 child coding blocks or not; when it is determined that the coding block is not partitioned into 4 child coding blocks, determining whether the coding block is partitioned into 2 child coding blocks or not; when it is determined that the coding block is partitioned into 2 child coding blocks, partitioning the coding block into the 2 child coding blocks in a horizontal direction or in a vertical direction; determining a prediction mode of a current block, the current block being one of the 2 child coding blocks; when the prediction mode of the current block is inter prediction, determining motion information of the current block; obtaining a prediction sample of the current block; obtaining a residual sample of the current block; and obtaining a reconstruction sample of the current block by summing the prediction sample and the residual sample, wherein the prediction sample of the current block is obtained based on a weighted sum operation of a first predicted sample and a second predicted sample of the current block, wherein the first predicted sample is derived by using the motion information of the current block and the second predicted sample is derived by using at least one reference sample of the current block, and wherein a set of weights applied to the first predicted sample and the second predicted sample is determined based on whether a prediction mode of a neighboring block adjacent to the current block is inter prediction or intra prediction.
 20. The method of claim 19, wherein a first weight applied to the first predicted sample is greater when the prediction mode of the neighboring block is the inter prediction than when the prediction mode of the neighboring block is the intra prediction.
 21. The method of claim 19, wherein the set of weights is determined among a plurality of candidate sets, and wherein the plurality of candidate sets comprise a set of (½, ½) and a set of (¼, ¾).
 22. A non-transitory computer-readable medium for storing data associated with a video signal, comprising: a data stream stored in the non-transitory computer-readable medium, the data stream being encoded by an encoding method which comprising: determining whether a coding block is partitioned into 4 child coding blocks or not; when it is determined that the coding block is not partitioned into 4 child coding blocks, determining whether the coding block is partitioned into 2 child coding blocks or not; when it is determined that the coding block is partitioned into 2 child coding blocks, partitioning the coding block into the 2 child coding blocks in a horizontal direction or in a vertical direction; determining a prediction mode of a current block, the current block being one of the 2 child coding blocks; when the prediction mode of the current block is inter prediction, determining motion information of the current block; obtaining a prediction sample of the current block; obtaining a residual sample of the current block; and obtaining a reconstruction sample of the current block by summing the prediction sample and the residual sample, wherein the prediction sample of the current block is obtained based on a weighted sum operation of a first predicted sample and a second predicted sample of the current block, wherein the first predicted sample is derived by using the motion information of the current block and the second predicted sample is derived by using at least one reference sample of the current block, and wherein a set of weights applied to the first predicted sample and the second predicted sample is determined based on whether a prediction mode of a neighboring block adjacent to the current block is inter prediction or intra prediction. 